package com.linkage.usercenter.service;

import com.github.pagehelper.PageInfo;
import com.linkage.common.base.RequestInfo;
import com.linkage.common.base.ResponseInfo;
import com.linkage.usercenter.pojo.baseDO.PoiBAExcelInfoVO;
import com.linkage.usercenter.pojo.entity.CoreUser;
import com.linkage.usercenter.pojo.vo.*;
import com.linkage.usercenter.pojo.vo.managevo.MgDptInfosLineVO;

import java.util.List;
import java.util.Map;

public interface IuserService {

    void register(RequestInfo<RegisterQUERY> query, RegisterVO vo);

    void getUserInfo(RequestInfo<UserInfoQUERY> query, UserInfoVO vo);

    void updateUserInfo(RequestInfo<UpdateUserInfoQUERY> query, UpdateUserInfoVO vo);

    void changePassword(RequestInfo<ChangePasswordQUERY> query, ChangePasswordVO vo);

    void login(RequestInfo<ExterLoginQUERY> query, ExterLoginVO vo);

    void queryDptsLine(RequestInfo<Map<String, String>> query, MgDptInfosLineVO vo);

    void checkMobile(String bolile);

    //后台添加保安信息
    void addUserForSecurity(RequestInfo<MgUserSecurityQUERY> query, CoreUser userInfoToken);

    void addManageLevelOne(RequestInfo<MgUserManageQUERY> query, CoreUser userInfoToken);

    List<DptParentVO> queryManageParentDpt(String dptType);

    Map statisticsBA(String token);

    Map statisticsJC(String deptCode,String token);

    PageInfo<UserInfoListVO> getUserInfoList(RequestInfo<UserInfoListQUERY> query);

    void updatePersonInfo(RequestInfo<UpdateUserQUERY> query);

    ResponseInfo forgetPwd(ChangePasswordQUERY query);

    void userExcel(List<PoiBAExcelInfoVO> requestList, List<Map> list);

    void loginOut(String token);

    void checkUserCode(String userCode);

    MgUserManageQUERY queryManageLevelOne(RequestInfo<MgUserManageQUERY> query, CoreUser userInfoToken);
}
